0 REM********************************** 1 REM* * 2 REM* LOAN CALCULATOR * 3 REM* * 4 REM*COPYRIGHT (C) 1984 BY H.L.BOELTE* 5 REM* * 6 REM* ALL RIGHTS RESERVED * 7 REM* * 8 REM********************************** 10 POKE53280,0:POKE53281,0 15 P$="" 20 CA=1:E=0:A$=""::DIMCS$(5,8):F$=" [146]":F1$=" ":F2$="[157][157][157][157][157][157]" 30 DEF FNA(X)=INT(X*100+.5)/100 40 GOSUB550:GOSUB800 45 GOSUB550 50 FORL=1TO5:FORL1=1TO8:CS$(L,L1)=F$:NEXT:NEXT 60 CS$(1,0)="AMOUNT ":CS$(2,0)=" YEARS ":CS$(3,0)=" RATE ":CS$(4,0)="PAYMENT" 70 CS$(0,0)=" ":CS$(0,1)="CASE 1":CS$(0,2)="CASE 2":CS$(0,3)="CASE 3" 80 CS$(0,4)="CASE 4":CS$(0,5)="CASE 5":CS$(0,6)="CASE 6":CS$(0,7)="CASE 7" 90 CS$(0,8)="CASE 8":GOSUB600 100 FORL1=1TO3:GOSUB450:A$="" 105 PRINTLEFT$(P$,20)CS$(0,CA)" - "CS$(L1,0); 108 INPUT" ";A$ 109 IFA$=""ANDVAL(CS$(L1,CA))>0THENGOSUB180:GOTO130 110 IFVAL(A$)=0THEN2000 111 IFL1=1ANDVAL(A$)>999999THEN2000 112 A$=LEFT$(A$,6) 113 IF(L1=2ORL1=3)ANDVAL(A$)>50THEN2000 114 IFCS$(1,CA)=F$THEN119 115 CS$(4,CA)=F$ 119 CS$(L1,CA)=A$:A$="":GOSUB610 130 GOSUB600:NEXT:GOSUB180 140 GOSUB3010 150 GETA$:IFA$=""THEN150 160 A=ASC(A$)-132:IFA<1ORA>4THEN150 163 ONAGOTO700,4000,170,5000 165 GOTO150 170 GOSUB450:GOSUB3000 171 CA=1 172 IFCS$(L1,CA)<>F$THENIFCA<8THENCA=CA+1:GOTO172 173 IFCA=8THEN178 175 GOSUB600:GOTO100 178 GOSUB9000:GOSUB3010:GOTO150 180 L9=L1:L1=4:PV=VAL(CS$(1,CA)):YR=VAL(CS$(2,CA)):I=VAL(CS$(3,CA)) 190 IR=I/100/12:YR=YR*12 200 MP=PV*IR/(1-((1+IR)^-YR)) 210 S$=STR$(FNA(MP)):IFMP>999999THENS$=" ERROR" 211 IFLEN(S$)>6THENS$=MID$(S$,2,6) 220 CS$(L1,CA)=S$:IFLEN(S$)<6THENGOSUB610 230 S$="":L1=L9:GOSUB450:GOSUB600:RETURN 450 PRINTLEFT$(P$,20)" ":RETURN 550 REM *** HEADER *** 560 PRINT"[147][158] "SPC(38)" "; 570 PRINT" LOAN CALCULATOR "SPC(38)" "; 580 PRINT" [146]" 590 RETURN 600 PRINTLEFT$(P$,6):IFCA>4THEN620 605 FORL3=0TO4:PRINT:FORL4=0TO4:PRINTF1$;F2$;CS$(L3,L4)" ";:NEXT:NEXT:RETURN 610 CS$(L1,CA)=LEFT$(F1$,6-LEN(CS$(L1,CA)))+CS$(L1,CA):RETURN 620 FORL3=0TO4:PRINT:PRINTCS$(L3,0)" ";:FORL4=CA-3TOCA:PRINTF1$;F2$; 625 PRINTCS$(L3,L4)" ";:NEXT:NEXT:RETURN 700 OPEN4,4 705 FORL3=0TO4:PRINT#4:FORL4=0TO8 706 IFCS$(L3,L4)<>F$THENPRINT#4,CS$(L3,L4)" "; 707 IFCS$(L3,L4)=F$THENPRINT#4," 0 "; 708 NEXT:NEXT:PRINT#4,CHR$(13):CLOSE4 710 GOTO150 800 PRINT""SPC(2)"COPYRIGHT (C) 1984 BY H. L. BOELTE" 805 PRINT""SPC(10)"ALL RIGHTS RESERVED" 810 PRINT""SPC(8)"DO YOU WANT HELP (Y/N)?" 820 GETH$:IFH$=""THEN820 830 IFH$="N"THENRETURN 840 IFH$="Y"THENGOSUB900:GOTO45 850 GOTO820 900 GOSUB550 910 PRINT" LOAN CALCULATOR WILL CALCULATE THE" 920 PRINT" MONTHLY PAYMENT ON ANY AMOUNT UP TO" 930 PRINT" $999999 FOR UP TO 8 CASES ALLOWING YOU 940 [153]" TO COMPARE ALTERNATIVES." 950 [153]" YOU CAN EDIT YOUR ENTRIES AND PRINT 960 PRINT" TO YOUR PRINTER FOR A PERMANENT RECORD" 970 PRINT" TO GET THE MAXIMUM CASES ON SCREEN," 971 PRINT" YOUR INPUTS ARE LIMITED AS FOLLOWS:" 972 PRINT" AMOUNT - 6 CHARACTERS OR 999999" 973 PRINT" YEARS - 50 RATE - 50" 990 PRINT"  PRESS ANY KEY WHEN READY [146]" 1000 GETA$:IFA$=""THEN1000 1010 GOSUB550 1020 PRINT" LOAN AMOUNTS CAN BE ENTERED AS 999.99" 1030 PRINT" (YOU DON'T USE THE $ SIGN); HOWEVER," 1035 PRINT" IF IT IS MORE THAN SIX CHARACTERS LONG" 1040 PRINT" IT WILL BE REDUCED TO SIX CHARACTERS." 1050 PRINT" THIS APPLIES TO PAYMENTS ALSO." 1060 PRINT" YEARS CAN BE ENTERED AS A FRACTION" 1070 PRINT" IF NECESSARY. FOR EXAMPLE; IF YOU" 1080 PRINT" WANT TO FIND THE PAYMENT ON A 42 MONTH" 1090 PRINT" LOAN, ENTER 3.5 FOR YEARS." 1100 PRINT" INTEREST RATE MUST BE ENTERED AS 11.5" 1110 PRINT" NOT .115 TO GET THE RIGHT ANSWER." 1800 PRINT"  PRESS ANY KEY WHEN READY [146]" 1810 GETA$:IFA$=""THEN1810 1910 RETURN 2000 FORL9=1TO5 2010 PRINTLEFT$(P$,24)SPC(7)" ILLEGAL INPUT-TRY AGAIN ":FORT=1TO500:NEXT 2020 PRINTLEFT$(P$,24)SPC(7)" ILLEGAL INPUT-TRY AGAIN [146]":FORT=1TO500:NEXT 2030 NEXT:A$="":GOSUB3000:GOSUB450:GOTO105 3000 PRINTLEFT$(P$,24)" ":RETURN 3005 PRINTLEFT$(P$,22)" ":RETURN 3010 PRINTLEFT$(P$,24)"F1[146]=PRINT F3[146]=EDIT F5[146]=NEXT CASE F7[146]=OPT":RETURN 3020 PRINTLEFT$(P$,24)" F2[146]=ERASE F4[146]=QUIT F6[146]=HELP F8[146]=RETURN":RETURN 4000 E=CA:GOSUB3000:PRINTLEFT$(P$,22)"EDIT WHICH CASE (1-8)"; 4010 INPUTA$:A=VAL(A$):IFA<1ORA>8THEN4000 4020 CA=A:GOSUB3005:CA=A:GOTO90 5000 GOSUB3000:GOSUB3020:X=CA 5050 GETA$:IFA$=""THEN5050 5060 A=ASC(A$)-136:IFA<1ORA>4THEN5050 5070 ONAGOTO6000,7000,8000,5080:GOTO5050 5080 GOSUB3000:GOSUB3010:GOSUB600:GOTO150 6000 GOSUB3000:PRINTLEFT$(P$,22)"ERASE ALL CASES (Y/N)"; 6010 INPUTA$:IFA$="Y"THENCA=1:GOTO45 6020 IFA$="N"THENGOSUB3005:GOSUB3020:GOTO5050 6025 GOTO6000 7000 POKE53280,5:POKE53281,0:PRINT"[144]"; 7010 PRINT"[147]LOAD"CHR$(34)"PAYLOAD"CHR$(34)",8":PRINT"RUN" 7020 POKE631,13:POKE632,13:POKE198,2 7030 END 8000 GOSUB900:GOSUB550:GOSUB600:GOTO5000 9000 FORL9=1TO5 9010 PRINTLEFT$(P$,24)" ALL CASES USED-USE EDIT OR ERASE ":FORT=1TO500:NEXT 9020 PRINTLEFT$(P$,24)"  ALL CASES USED-USE EDIT OR ERASE ":FORT=1TO500:NEXT 9030 NEXT:A$="":RETURN